//时间格式化
/**
 *
 *
 * @export 
 * @description 时间格式化
 * @param {*} dateStr 时间戳或者时间字符串
 * @param {string} [fmt='yyyy-MM-dd hh:mm:ss']
 * @return {*} 
 */
 export function formatDate(dateStr, fmt = 'yyyy-MM-dd hh:mm:ss') {
    if (!dateStr) return;
    const date = new Date(dateStr);
    const o = {
        'M+': date.getMonth() + 1, // 月份
        'd+': date.getDate(), // 日
        'h+': date.getHours(), // 小时
        'm+': date.getMinutes(), // 分
        's+': date.getSeconds(), // 秒
        'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
        S: date.getMilliseconds(), // 毫秒
    };

    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (`${date.getFullYear()}`).substr(4 - RegExp.$1.length));
    }
    for (const k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length)));
        }
    }
    return fmt;
}

/**
 *
 *
 * @export 获取当前时间并格式化
 * @param {*} isDate Boolean 为真返回时分秒； 为"time"返回不带连接符的时分秒；为"fileDate"返回文件夹日期
 * @return {*} yyyy-MM-dd hh:mm:ss
 */
export function getNowTime(isDate = false) {
    var now = new Date();
    var year = now.getFullYear(); //得到年份
    var month = now.getMonth(); //得到月份
    var date = now.getDate(); //得到日期
    var hh = now.getHours();
    var mm = now.getMinutes();
    var ss = now.getSeconds();
    var hour = " " + hh + ":" + mm + ":" + ss + ""; //默认时分秒 如果传给后台的格式为年月日时分秒，就需要加这个，如若不需要，此行可忽略
    var hours = hh + '' + mm + '' + ss + "-";
    month = month + 1;
    month = month.toString().padStart(2, "0");
    date = date.toString().padStart(2, "0");
    var defaultDate = `${year}-${month}-${date}${hour}`;
    if (isDate) {
        var defaultDate = `${year}-${month}-${date}`;
    }
    if (isDate == 'time') {
        var defaultDate = `${year}${month}${date}${hours}`;
    }
    if (isDate == 'fileDate') {
        var defaultDate = `${year}${month}${date}`;
    }
    return defaultDate;
}
/**
 * 获取星期
 * @returns 
 */
export function getWeek() {
    let weeks = [
        "星期日",
        "星期一",
        "星期二",
        "星期三",
        "星期四",
        "星期五",
        "星期六",
    ];
    let wk = new Date().getDay();
    return weeks[wk];
}

/**
 * @export 
 * @param {*} 参数1
 * @param {*} 参数2
 * @description 获取图片路径
 * @author 
 * @version V1.0.0
 * @return {*} 
 */
// 
export function getImgName(url, num = 3) {
    if (url) {
        let index1 = findCharIndex(url, '/', num)
        console.log("index1", index1);
        let index2 = url.lastIndexOf("?");
        console.log("index2", index2);
        url =
            index2 != -1 ?
            url.substring(index1 + 1, index2) :
            url.substring(index1 + 1, url.length);
        return url;
    }
}

/**
 * @export 获取某个字符在一串字符中第n次出现的位置（注意：从0开始计数）
 * @param {*} 参数1
 * @param {*} 参数2
 * @description 
 * @author 
 * @version V1.0.0
 * @return {*} 
 */
// 

function findCharIndex(str, cha, num) {
    let x = str.indexOf(cha);
    for (let i = 0; i < num; i++) {
        x = str.indexOf(cha, x + 1);
    }
    return x;
}

/**
 *
 *
 * @export
 * @param {*} minNum
 * @param {*} maxNum
 * @return {*} 
 */
export function randomNum(minNum, maxNum) {
    switch (arguments.length) {
      case 1:
        return parseInt(Math.random() * minNum + 1, 10);
        break;
      case 2:
        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
        break;
      default:
        return 0;
        break;
    }
  }